﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Model;
using ControllerLag;

namespace Projekt_1
{
    public partial class SupporterForm : Form
	{
		Controller controller;
		Kunde kunde;
		Delordre delordre;

        public SupporterForm(Controller controller)
        {
            InitializeComponent();
			this.controller = controller;
        }
       

        private void btnSøg_Click(object sender, EventArgs e)
        {
            bool IndholderTal = true;
            string input = txtInput.Text;

            try
            {
                for (int i = 0; i < input.Length; i++)
                {
                    if (!char.IsNumber(input[i]))
                    {
                        IndholderTal = false;
                    }
                }

                if (IndholderTal == true)
                {
                    delordre = controller.FindDelordre(int.Parse(txtInput.Text));
                    if (delordre == null)
                    {
                        MessageBox.Show("Delordren eller navnet blev ikke fundet");
                        txtInput.Focus();
                    }
                    else
                    {
                        txtKundenr.Text = delordre.Kunde.KundeNr.ToString();
                        txtNavn.Text = delordre.Kunde.Navn;
                        txtAdresse.Text = delordre.Kunde.Adresse;
                        txtPostnr.Text = delordre.Kunde.PostNr.ToString();
                        txtTlfnr.Text = delordre.Kunde.TlfNr.ToString();
                        txtEmail.Text = delordre.Kunde.Mail;
                        txtDelordrenr.Text = delordre.Delordrenr.ToString();
                        txtBetalingsstatus.Text = delordre.Betalt.ToString();

                        lstDelordre.Items.Clear();

                        foreach (Delordrelinie d in delordre.HentDelordrelinie())
                        {
                            ListViewItem i = new ListViewItem();
                            i.Text = d.Vare.VareNr.ToString();
                            i.SubItems.Add(d.Vare.Navn);
                            i.SubItems.Add(d.Vare.Beskrivelse);
                            i.SubItems.Add(d.Pris.ToString());
                        }
                    }
                }
                else
                {
                    kunde = controller.FindKunde(int.Parse(txtInput.Text));

                    if (kunde == null)
                    {
                        MessageBox.Show("Delordren eller navnet blev ikke fundet");
                        txtInput.Focus();
                    }
                    else
                    {
                        txtKundenr.Text = "" + kunde.KundeNr;
                        txtNavn.Text = "" + kunde.Navn;
                        txtAdresse.Text = "" + kunde.Adresse;
                        txtPostnr.Text = "" + kunde.PostNr;
                        txtEmail.Text = "" + kunde.Mail;
                        txtTlfnr.Text = "" + kunde.TlfNr;
                        txtDelordrenr.Text = delordre.Betalt.ToString();
                        txtBetalingsstatus.Text = delordre.Betalt.ToString();

                        lstDelordre.Items.Clear();

                        foreach (Delordrelinie d in delordre.HentDelordrelinie())
                        {
                            ListViewItem i = new ListViewItem();
                            i.Text = d.Vare.VareNr.ToString();
                            i.SubItems.Add(d.Vare.Navn);
                            i.SubItems.Add(d.Vare.Beskrivelse);
                            i.SubItems.Add(d.Pris.ToString());
                        }
                    }
                }
            }
            catch
            {
                MessageBox.Show("Der er opstået en fejl, forsøg igen.");
            }
        }

        private void btnAfslut_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
